package com.tfjybj.itoo.exam.provider.service;

import com.dmsdbj.itoo.tool.base.service.BaseServicePlus;
import com.dmsdbj.itoo.tool.business.ItooResult;
import com.github.pagehelper.PageInfo;
import com.tfjybj.itoo.exam.entity.AccountItemEntity;
import com.tfjybj.itoo.exam.model.AccountItemModel;
import com.tfjybj.itoo.exam.model.AddAccountItemModel;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;


/**
 * AccountItemService接口
 * accountItem表
 *
 * @author 任晓帅
 * @version 2.0.0
 * @since 2.0.0 2018-11-15 19:40:28
 */
public interface AccountItemService extends BaseServicePlus<AccountItemEntity> {
	
	//region 模板生成：模糊查询
	/**
     * 根据名称模糊查询accountItem
     *
     * @param name  名称
     * @param pageNo   页码
     * @param pageSize 页数
     * @return 模糊查询的accountItem
     * @author 任晓帅
     * @since 2.0.0 2018-11-15 19:40:28
     */
    PageInfo<AccountItemEntity> queryByLikeName(String name, Integer pageNo, Integer pageSize);
	//endregion

    /* **********************************以下为非模板生成的内容********************************* */
    /**
     * 根据会计科目名字获取数据
     *
     * @param name 会计科目名字
     * @return 会计科目的accountItemModel
     * @author 杨楠
     * @since 2.0.0 2018-11-15 10:35:56
     */
    List<AccountItemModel> queryAccountingSubject(String name);

    ItooResult importByExcel (MultipartFile multipartFile, HttpServletRequest request, HttpServletResponse response, String operator);

    boolean createAccount(List<AddAccountItemModel> accountItemModels);

    List<AccountItemEntity> queryTreeModel();


    /**
     * 添加一条分类
     * @param addAccountItemModel
     * @author duyu
     * @since 2019年6月19日
     */
    AccountItemEntity createAccountItemNode(AddAccountItemModel addAccountItemModel);

    boolean updateById(AccountItemEntity entity);

    int insert(AccountItemEntity entity);

}
